# -*- coding: latin-1 -*-
import unittest
from compras.models import *
from ventas.models import *
from productos.models import Producto
from contactos.models import Contacto
from django.test.client import Client
from datetime import *


class SimpleTest(unittest.TestCase):
    fixtures = ['fixtures/initial_data.json',]
    def setUp(self):
        # Every test needs a client.
        self.client = Client()
	
	self.produc = Producto.objects.get(id=1)
	self.first = self.produc.cantidad_esperada()
	contacto= Proveedor.objects.get(id=1)
	self.contacto1= Cliente.objects.get(id=1)
        self.compra = Compra(neto= 7922, iva= 1663.62, cotizacion= 1.0, fecha= datetime.today().date(), comprobante="232423",proveedor=contacto, pagado= 300, bruto= 7922, saldo= 9285.62, cuit= "20312177529", efectivo= 100.0, total= 9585.62,  domicilio= "pehuajo 1459")
	self.compra.save()
	produc= Producto.objects.get(id=1)
	self.item1 = ItemCompra(cantidad= 34.0,producto= produc,compra= self.compra,unidad_medida= "kilo",precio_unitario= "$ 233.0",importe= "$ 7922.0",moneda_id=1)
	self.item1.save()
	
	
	
	self.venta = Venta(neto= 7922, iva= 1663.62,remito= "234223", cotizacion= 1.0, fecha= datetime.today().date(), comprobante= "2322423",cliente=self.contacto1, pagado= 300, bruto= 7922, saldo= 9285.62, cuit= "20312177529", efectivo= 100.0, total= 9585.62,  domicilio= "pehuajo 1459")
	self.venta.save()
	self.prod = Producto.objects.get(id=1)
	self.item2 = Item(orden_fabricacion="234",cantidad= 50.0,producto= produc,venta= self.venta,unidad_medida= "kilo",precio_unitario= "$ 233.0",importe= "$ 7922.0") 
	self.item2.save()
	
	
	
    #def testprodCase(self):
	    #print self.prod.familia.limite_1
	    #print self.prod.familia.limite_2
	    #print self.prod.familia.limite_3
	    #print "ventas:",self.prod.ultimas_ventas()
	    #print "compras:",self.prod.ultimas_compras()
	    #print "first:", self.first
	    #print "esperado",self.prod.cantidad_esperada()
	    #inv = self.prod.ultimo_inventario()
	    #self.failUnlessEqual(self.first+self.prod.ultimas_compras()-self.prod.ultimas_ventas(),self.prod.cantidad_esperada())
	    #self.failUnlessEqual(inv.cantidad_real,self.first)
	    #print self.prod.precio_compra(self.prod.familia.limite_1)
	    #print self.prod.precio_compra(self.prod.familia.limite_2)
	    #print self.prod.precio_compra(self.prod.familia.limite_3)
	    #self.failUnless(self.prod.precio_compra(self.prod.familia.limite_1) < self.prod.precio_compra(self.prod.familia.limite_2) and self.prod.precio_compra(self.prod.familia.limite_2) < self.prod.precio_compra(self.prod.familia.limite_3))
	    
    def testCantidadEsperdad(self):
	  
	  inic = Producto.objects.get(id=1).cantidad_esperada()
	 
	  prod = Producto.objects.get(id=1)
	  venta2 = Venta(neto= 7922, iva= 1663.62,remito= "23422344", cotizacion= 1.0, fecha= datetime.today().date(), comprobante= "232242343",cliente=self.contacto1, pagado= 300, bruto= 7922, saldo= 9285.62, cuit= "20312177529", efectivo= 100.0, total= 9585.62,  domicilio= "pehuajo 1459",anular=True)
	  venta2.save()
	  self.prod = Producto.objects.get(id=1)
	  item3 = Item(orden_fabricacion="2343",cantidad= 100.0,producto= self.prod,venta= venta2,unidad_medida= "kilo",precio_unitario= "$ 233.0",importe= "$ 7922.0") 
	  item3.save()
	  self.failUnlessEqual(inic ,Producto.objects.get(id=1).cantidad_esperada())